.wdu-input {
    display: flex;
    flex-flow: row nowrap;
    position: relative;
    margin: 20px;
    width: 350px;
    padding: 1px;

    &-container {
        .wdu-flex();
        .out-shadow-light();
        position: relative;
        box-sizing: content-box;
        margin: 10px;
        border-radius: 5px;
        border-color: rgb(112, 112, 112);
    }

    &__input {
        width: 100%;
        padding: 0 15px;
        display: inline-block;
        outline: 0;
        border-radius: 5px;
        background-color: white;
        .wdu-border-light();
        .inside-shadow-light();

        &:focus {
            transition: all 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
            border-color: #5987f0;
        }
    }

    &__label {
        display: inline-block;
        font-size: 16px;
        font-weight: bold;
        white-space: nowrap;
        color: @wdu-font-color-title;
    }

    &__prepend {
        position: absolute;
        border-radius: 5px 0 0 5px;
        padding: 0 15px;
        left: 2px;
        top: 2px;
        bottom: 2px;
        overflow: hidden;
        .wdu-bg-plain();
    }

    &__widget {
        position: absolute;
        right: 2px;
        top: 0;
        width: max-content;
        height: 100%;
        display: flex;
        align-items: center;

        .wdu-button {
            border-radius: 0 5px 5px 0;
        }
    }

    &-small {
        .wdu-input__input,
        .wdu-input__label {
            .wdu-text-small();
            height: 30px;
            line-height: 30px;
        }
    }

    &-normal {
        .wdu-input__input,
        .wdu-input__label {
            .wdu-text-normal();
            height: 36px;
            line-height: 36px;
        }
    }

    &-large {
        .wdu-input__input,
        .wdu-input__label {
            .wdu-text-large();
            height: 42px;
            line-height: 42px;
        }
    }

    .icon() {
        display: inline-block;
        height: 30px;
        width: 30px;
        background-size: 20px;
        background-repeat: no-repeat;
        background-position: center;
        cursor: pointer;
    }

    &__password {
        .icon();
        background-image: url('../../icon/password-visible.svg');

        &-hidden {
            background-image: url('../../icon/password-hidden.svg');
        }
    }

    &__clear {
        .icon();
        background-image: url('../../icon/input-clear.svg');
    }

    &__disabled {
        opacity: 0.5;

        .wdu-input__input {
            cursor: not-allowed;
        }

        .wdu-input__label {
            cursor: not-allowed;
            user-select: none;
        }
    }
}
